Report generated on 30-Oct-2024 at 13:35:53 by pytest-html v3.1.1
143 tests ran in 1422.74 seconds.
(Un)check the boxes to filter the results.
136 passed, 2 skipped, 6 failed, 0 errors, 1 expected failures, 0 unexpected passes, 0 rerun| Result | Test | Duration | Links |
|---|---|---|---|
| No results found. Try to check the filters | |||
| Failed | tests/devhub_submissions/test_addon_submissions.py::test_submit_listed_wizard_theme_tc_id_c97500[Desktop] | 66.93 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="d5d1e42e-5a6c-48f3-83e8-9d7515a0a79f")>, base_url = 'https://addons.mozilla.org' variables = {'addon_size_extension': 'darkreader', 'addon_validation_message': 'Your add-on was validated with no errors or warnings.', 'addon_with_stats': 'new-tab-override', 'all_scores_addon': 'ublock-origin', ...} wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x11b9a19d0>, delete_themes = None @pytest.mark.sanity def test_submit_listed_wizard_theme_tc_id_c97500(selenium, base_url, variables, wait, delete_themes): """A test that checks a straight-forward theme submission with the devhub wizard""" page = DevHubHome(selenium, base_url).open().wait_for_page_to_load() page.devhub_login("submissions_user") submit_addon = page.click_submit_theme_button() # start the upload for a listed theme submit_addon.select_listed_option() submit_addon.click_continue() create_theme = submit_addon.click_create_theme_button() theme_name = f"wizard_theme_{reusables.get_random_string(5)}" create_theme.set_theme_name(theme_name) create_theme.upload_theme_header("theme_header.png") wait.until(lambda _: create_theme.uploaded_image_preview.is_displayed()) # make a note of the image source uploaded as the theme header uploaded_img_source = create_theme.uploaded_image_source # verify that the uploaded image is applied in the browser preview assert uploaded_img_source == create_theme.browser_preview_image > theme_details = create_theme.submit_theme() tests/devhub_submissions/test_addon_submissions.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/desktop/developers/submit_addon.py:884: in submit_theme ).wait_for_page_to_load() pages/desktop/developers/submit_addon.py:660: in wait_for_page_to_load self.wait.until( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <selenium.webdriver.support.wait.WebDriverWait (session="d5d1e42e-5a6c-48f3-83e8-9d7515a0a79f")>, method = <function visibility_of_element_located.<locals>._predicate at 0x11b882ca0>, message = '' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: E Stacktrace: E RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8 E WebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:193:5 E NoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:511:5 E dom.find/</<@chrome://remote/content/shared/DOM.sys.mjs:136:16 venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException ------------------------------Captured stdout call------------------------------ The "click continue button" event occurred. | |||
| Failed | tests/frontend/test_addon_detail.py::test_more_info_addon_size[Desktop] | 9.31 | Driver Log URL HTML |
|
self = <urllib.request.HTTPSHandler object at 0x11c3089d0>, http_class = <class 'http.client.HTTPSConnection'>, req = <urllib.request.Request object at 0x11c308e10> http_conn_args = {'check_hostname': None, 'context': None}, host = 'addons.mozilla.org', h = <http.client.HTTPSConnection object at 0x11c309a10> def do_open(self, http_class, req, **http_conn_args): """Return an HTTPResponse object for the request, using http_class. http_class must implement the HTTPConnection API from http.client. """ host = req.host if not host: raise URLError('no host given') # will parse host:port h = http_class(host, timeout=req.timeout, **http_conn_args) h.set_debuglevel(self._debuglevel) headers = dict(req.unredirected_hdrs) headers.update({k: v for k, v in req.headers.items() if k not in headers}) # TODO(jhylton): Should this be redesigned to handle # persistent connections? # We want to make an HTTP/1.1 request, but the addinfourl # class isn't prepared to deal with a persistent connection. # It will try to read all remaining data from the socket, # which will block while the server waits for the next request. # So make sure the connection gets closed after the (only) # request. headers["Connection"] = "close" headers = {name.title(): val for name, val in headers.items()} if req._tunnel_host: tunnel_headers = {} proxy_auth_hdr = "Proxy-Authorization" if proxy_auth_hdr in headers: tunnel_headers[proxy_auth_hdr] = headers[proxy_auth_hdr] # Proxy-Authorization should not be sent to origin # server. del headers[proxy_auth_hdr] h.set_tunnel(req._tunnel_host, headers=tunnel_headers) try: try: > h.request(req.get_method(), req.selector, req.data, headers, encode_chunked=req.has_header('Transfer-encoding')) /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py:1348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py:1286: in request self._send_request(method, url, body, headers, encode_chunked) /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py:1332: in _send_request self.endheaders(body, encode_chunked=encode_chunked) /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py:1281: in endheaders self._send_output(message_body, encode_chunked=encode_chunked) /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py:1041: in _send_output self.send(msg) /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py:979: in send self.connect() /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/http/client.py:1458: in connect self.sock = self._context.wrap_socket(self.sock, /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ssl.py:517: in wrap_socket return self.sslsocket_class._create( /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ssl.py:1075: in _create self.do_handshake() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <ssl.SSLSocket [closed] fd=-1, family=30, type=1, proto=0>, block = False @_sslcopydoc def do_handshake(self, block=False): self._check_connected() timeout = self.gettimeout() try: if timeout == 0.0 and block: self.settimeout(None) > self._sslobj.do_handshake() E ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002) /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/ssl.py:1346: SSLCertVerificationError During handling of the above exception, another exception occurred: selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="8804141f-068a-4523-97a8-7fa82e2e976f")>, base_url = 'https://addons.mozilla.org' variables = {'addon_size_extension': 'darkreader', 'addon_validation_message': 'Your add-on was validated with no errors or warnings.', 'addon_with_stats': 'new-tab-override', 'all_scores_addon': 'ublock-origin', ...} @pytest.mark.sanity @pytest.mark.nondestructive def test_more_info_addon_size(selenium, base_url, variables): extension = variables["addon_size_extension"] selenium.get(f"{base_url}/addon/{extension}") addon = Detail(selenium, base_url).wait_for_page_to_load() assert addon.more_info.addon_size.is_displayed() more_info_size = addon.more_info.addon_size.text # get the file URL and read its size > file = urllib.request.urlopen(addon.addon_xpi) tests/frontend/test_addon_detail.py:378: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py:216: in urlopen return opener.open(url, data, timeout) /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py:519: in open response = self._open(req, data) /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py:536: in _open result = self._call_chain(self.handle_open, protocol, protocol + /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py:496: in _call_chain result = func(*args) /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py:1391: in https_open return self.do_open(http.client.HTTPSConnection, req, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <urllib.request.HTTPSHandler object at 0x11c3089d0>, http_class = <class 'http.client.HTTPSConnection'>, req = <urllib.request.Request object at 0x11c308e10> http_conn_args = {'check_hostname': None, 'context': None}, host = 'addons.mozilla.org', h = <http.client.HTTPSConnection object at 0x11c309a10> def do_open(self, http_class, req, **http_conn_args): """Return an HTTPResponse object for the request, using http_class. http_class must implement the HTTPConnection API from http.client. """ host = req.host if not host: raise URLError('no host given') # will parse host:port h = http_class(host, timeout=req.timeout, **http_conn_args) h.set_debuglevel(self._debuglevel) headers = dict(req.unredirected_hdrs) headers.update({k: v for k, v in req.headers.items() if k not in headers}) # TODO(jhylton): Should this be redesigned to handle # persistent connections? # We want to make an HTTP/1.1 request, but the addinfourl # class isn't prepared to deal with a persistent connection. # It will try to read all remaining data from the socket, # which will block while the server waits for the next request. # So make sure the connection gets closed after the (only) # request. headers["Connection"] = "close" headers = {name.title(): val for name, val in headers.items()} if req._tunnel_host: tunnel_headers = {} proxy_auth_hdr = "Proxy-Authorization" if proxy_auth_hdr in headers: tunnel_headers[proxy_auth_hdr] = headers[proxy_auth_hdr] # Proxy-Authorization should not be sent to origin # server. del headers[proxy_auth_hdr] h.set_tunnel(req._tunnel_host, headers=tunnel_headers) try: try: h.request(req.get_method(), req.selector, req.data, headers, encode_chunked=req.has_header('Transfer-encoding')) except OSError as err: # timeout error > raise URLError(err) E urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)> /Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/urllib/request.py:1351: URLError | |||
| Failed | tests/frontend/test_blog.py::test_blog_install_addon[Desktop] | 6.67 | Driver Log URL HTML |
|
base_url = 'https://addons.mozilla.org', selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="df2b8938-72cd-4699-aa38-8db04890fe1e")> variables = {'addon_size_extension': 'darkreader', 'addon_validation_message': 'Your add-on was validated with no errors or warnings.', 'addon_with_stats': 'new-tab-override', 'all_scores_addon': 'ublock-origin', ...} firefox = <foxpuppet.foxpuppet.FoxPuppet object at 0x11d75fad0>, firefox_notifications = <function notifications at 0x118618720> wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x11b4b22d0> @pytest.mark.prod_only @pytest.mark.nondestructive def test_blog_install_addon( base_url, selenium, variables, firefox, firefox_notifications, wait ): blog = BlogHomepage(selenium, base_url).open().wait_for_page_to_load() article = blog.articles[0].click_read_more_link() # install add-on from a blog article > addon_name = article.addon_cards[0].title.text E IndexError: list index out of range tests/frontend/test_blog.py:180: IndexError | |||
| Failed | tests/frontend/test_blog.py::test_addon_link_in_article_addon_cards[Desktop] | 6.82 | Driver Log URL HTML |
|
base_url = 'https://addons.mozilla.org', selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="09cd88d7-5fc6-4e64-80de-502d5a10a6fa")> @pytest.mark.prod_only @pytest.mark.nondestructive def test_addon_link_in_article_addon_cards(base_url, selenium): blog = BlogHomepage(selenium, base_url).open().wait_for_page_to_load() article = blog.articles[0].click_read_more_link() # make a note of the add-on name in the article card > addon_name = article.addon_cards[0].title.text E IndexError: list index out of range tests/frontend/test_blog.py:212: IndexError | |||
| Failed | tests/frontend/test_blog.py::test_author_link_in_article_addon_cards[Desktop] | 7.48 | Driver Log URL HTML |
|
base_url = 'https://addons.mozilla.org', selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="3c02a541-a6a1-47a6-8126-1118e4f0f55e")> @pytest.mark.prod_only @pytest.mark.nondestructive def test_author_link_in_article_addon_cards(base_url, selenium): blog = BlogHomepage(selenium, base_url).open().wait_for_page_to_load() article = blog.articles[0].click_read_more_link() # make a note of the addon author in the article card > addon_author = article.addon_cards[0].author.text E IndexError: list index out of range tests/frontend/test_blog.py:226: IndexError | |||
| Failed | tests/frontend/test_install.py::test_about_addons_extension_updates[Desktop] | 22.52 | Driver Log URL HTML |
|
selenium = <selenium.webdriver.firefox.webdriver.WebDriver (session="adae5766-6614-40d3-bada-5b31f8aeb106")>, base_url = 'https://addons.mozilla.org' wait = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x11fb25b10>, firefox = <foxpuppet.foxpuppet.FoxPuppet object at 0x11fb34bd0> firefox_notifications = <function notifications at 0x118618720> variables = {'addon_size_extension': 'darkreader', 'addon_validation_message': 'Your add-on was validated with no errors or warnings.', 'addon_with_stats': 'new-tab-override', 'all_scores_addon': 'ublock-origin', ...} @pytest.mark.sanity @pytest.mark.fail def test_about_addons_extension_updates( selenium, base_url, wait, firefox, firefox_notifications, variables ): """Install an addon from AMO and check for updates in addons manager; this test is set up to be able to run on each AMO environment""" extension = variables["extension_version_updates"] selenium.get(f"{base_url}/addon/{extension}/versions/") versions = Versions(selenium, base_url).wait_for_page_to_load() # make a note of the latest version number - this should be visible once the addon updates latest_version = versions.latest_version_number # install an older version of the addon versions.versions_list[1].click_download_link() # if the addon is installed from dev or stage we might need to confirm the site security # in order to be able to install the addon; the following exception accounts for that try: firefox.browser.wait_for_notification( firefox_notifications.AddOnInstallConfirmation ).install() except TimeoutException as error: # check that the timeout message is raised by the AddOnInstallConfirmation class assert error.msg == "AddOnInstallConfirmation was not shown." firefox.browser.wait_for_notification( firefox_notifications.AddOnInstallBlocked ).allow() firefox.browser.wait_for_notification( firefox_notifications.AddOnInstallConfirmation ).install() # go to addons manager and locate the installed addon selenium.get("about:addons") about_addons = AboutAddons(selenium) about_addons.click_extensions_side_button() about_addons.installed_addon_cards[0].click() # trigger a manual update check to receive the latest addon version about_addons.click_options_button() action = ActionChains(selenium) action.send_keys("c").perform() # compare the updated version to the latest version from AMO and make sure they match > wait.until( lambda _: latest_version == about_addons.installed_version_number, message=f'Latest version from AMO "{latest_version}" did not match updated version from addons manager ' f'"{about_addons.installed_version_number}"', ) tests/frontend/test_install.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <[AttributeError("'function' object has no attribute 'session_id'") raised in repr()] WebDriverWait object at 0x11fb25b10> method = <function test_about_addons_extension_updates.<locals>.<lambda> at 0x11fb21620>, message = 'Latest version from AMO "0.7.6" did not match updated version from addons manager "0.7.4"' def until(self, method, message: str = ""): """Calls the method provided with the driver as an argument until the \ return value does not evaluate to ``False``. :param method: callable(WebDriver) :param message: optional message for :exc:`TimeoutException` :returns: the result of the last call to `method` :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs """ screen = None stacktrace = None end_time = time.monotonic() + self._timeout while True: try: value = method(self._driver) if value: return value except self._ignored_exceptions as exc: screen = getattr(exc, 'screen', None) stacktrace = getattr(exc, 'stacktrace', None) time.sleep(self._poll) if time.monotonic() > end_time: break > raise TimeoutException(message, screen, stacktrace) E selenium.common.exceptions.TimeoutException: Message: Latest version from AMO "0.7.6" did not match updated version from addons manager "0.7.4" venv/lib/python3.11/site-packages/selenium/webdriver/support/wait.py:90: TimeoutException | |||
| XFailed | tests/frontend/test_sanity.py::test_discovery_taar_recommendations | 0.37 | Driver Log |
|
base_url = 'https://addons.mozilla.org' variables = {'addon_size_extension': 'darkreader', 'addon_validation_message': 'Your add-on was validated with no errors or warnings.', 'addon_with_stats': 'new-tab-override', 'all_scores_addon': 'ublock-origin', ...} @pytest.mark.sanity @pytest.mark.xfail( reason="Known issue with taar recomendations", strict=False ) def test_discovery_taar_recommendations(base_url, variables): """The scope of this test is to verify if the addons manager recommendations page returns extensions from the TAAR service based on a 'telemetry-client-id'""" request = requests.get( url=f"{base_url}/api/v5/discovery/", params={"telemetry-client-id": variables["telemetry_client_id"]}, ) # make a list with only the extensions returned by the discovery API; # we exclude themes because they are not recommended by default recommendations = [ item["is_recommendation"] for item in request.json()["results"] if item["addon"]["type"] == "extension" ] # determine if the list created before contains at least one recommended extension; # it is not mandatory for all extensions to be TAAR recommendations, but we need to have # at least one to determine whether the service is working or not > assert True in recommendations E assert True in [False, False, False, False] tests/frontend/test_sanity.py:327: AssertionError | |||
| Skipped | tests/frontend/test_sanity.py::test_about_addons_search[Desktop] | 0.00 | |
|
('/Users/alexandru.schek/addons-release-tests/tests/frontend/test_sanity.py', 103, 'Skipped: Still investigating why this test has started failing recently') | |||
| Skipped | tests/frontend/test_sanity.py::test_detail_page_taar_recommendations[Desktop] | 0.00 | |
|
('/Users/alexandru.schek/addons-release-tests/tests/frontend/test_sanity.py', 267, 'Skipped: unconditional skip') | |||
| Passed | tests/devhub/test_addon_validate.py::test_validate_addon_listed[Desktop] | 58.62 | |
|
-----------------------------Captured stdout setup------------------------------ The "click continue button" event occurred. | |||
| Passed | tests/devhub/test_addon_validate.py::test_validate_listed_addon_option_no_manifest_found[Desktop] | 10.15 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_addon_validate.py::test_validate_listed_addon_option_unsupported_format[Desktop] | 8.27 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_addon_validate.py::test_validate_addon_unlisted[Desktop] | 52.17 | |
|
-----------------------------Captured stdout setup------------------------------ The "click continue button" event occurred. | |||
| Passed | tests/devhub/test_addon_validate.py::test_validate_unlisted_addon_option_no_manifest_found[Desktop] | 50.09 | |
|
-----------------------------Captured stdout setup------------------------------ The "click continue button" event occurred. | |||
| Passed | tests/devhub/test_addon_validate.py::test_validate_unlisted_addon_option_unsupported_format[Desktop] | 46.99 | |
|
-----------------------------Captured stdout setup------------------------------ The "click continue button" event occurred. | |||
| Passed | tests/devhub/test_devhub_home.py::test_click_extension_workshop[Desktop] | 8.01 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_click_documentation[Desktop] | 6.82 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_click_support[Desktop] | 7.81 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_login[Desktop] | 47.28 | |
|
-----------------------------Captured stdout setup------------------------------ The "click continue button" event occurred. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_page_overview[Desktop] | 7.02 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_page_content[Desktop] | 5.21 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_content_login_link[Desktop] | 6.62 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_page_get_involved[Desktop] | 8.82 | |
|
No log output captured. | |||
| Passed | tests/devhub/test_devhub_home.py::test_devhub_logout_tc_id_c15075[Desktop] | 7.91 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_extension_meta_card_tc_id_c392798[Desktop] | 6.48 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_detail_author_links[Desktop] | 9.91 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_stats_reviews_summary_click[Desktop] | 9.74 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_click_stats_rating_bar[Desktop] | 9.10 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_contribute_button_tc_id_c4402[Desktop] | 5.74 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_more_info_support_links[Desktop-0-Homepage] | 9.47 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_more_info_support_links[Desktop-1-Support site] | 9.32 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_more_info_support_links[Desktop-2-Support Email] | 8.23 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_more_info_version_number[Desktop] | 8.93 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_more_info_addon_last_update[Desktop] | 8.64 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_more_info_related_categories[Desktop] | 30.87 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_more_info_external_license[Desktop] | 8.44 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_screenshot_viewer[Desktop] | 14.03 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_addon_description[Desktop] | 9.63 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_developer_comments[Desktop] | 9.23 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_addon_recommendations[Desktop] | 8.17 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_click_addon_recommendations[Desktop] | 11.90 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_addon_detail.py::test_theme_detail_page_tc_id_c95590[Desktop] | 8.92 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_blog.py::test_blog_homepage_header_logo_button[Desktop] | 8.79 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_blog.py::test_articles_elements_are_displayed[Desktop] | 8.63 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_blog.py::test_open_article_by_clicking_article_image[Desktop] | 8.49 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_blog.py::test_open_article_by_clicking_article_title[Desktop] | 6.78 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_blog.py::test_article_page_loaded_correctly[Desktop] | 7.36 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_blog.py::test_article_page_header_logo_button[Desktop] | 10.04 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_blog.py::test_navbar_frontend_homepage_link[Desktop] | 10.63 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_blog.py::test_navbar_blog_homepage_link[Desktop] | 7.56 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_blog.py::test_navbar_current_article_link[Desktop] | 8.55 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_blog.py::test_next_and_previous_article_links[Desktop] | 7.85 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_blog.py::test_addon_cards_loaded_correctly[Desktop] | 6.50 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_blog.py::test_addon_card_recommendation_badge_link[Desktop] | 7.16 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_extensions.py::test_extension_landing_header[Desktop] | 7.91 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_extensions.py::test_recommended_extensions_shelf[Desktop] | 5.22 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_extensions.py::test_browse_more_recommended_extensions[Desktop] | 6.95 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_extensions.py::test_browse_more_top_rated_extensions[Desktop] | 6.72 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_extensions.py::test_browse_more_trending_extensions[Desktop] | 6.26 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_click_header_extensions_tc_id_c95105[Desktop] | 5.56 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_click_header_themes_tc_id_c95105[Desktop] | 6.45 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_logo_routes_to_homepage_tc_id_c95105[Desktop] | 6.84 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_firefox_addons_blog_link_tc_id_c95105[Desktop] | 7.29 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_developer_hub_link_tc_id_c95105[Desktop] | 5.86 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_extension_workshop_link_tc_id_c95105[Desktop] | 6.07 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_more_dropdown_navigates_correctly_tc_id_c95103[Desktop-0-Dictionaries and Language Packs] | 10.94 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_more_dropdown_navigates_correctly_tc_id_c95103[Desktop-1-Add-ons for Firefox Android] | 10.51 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_primary_hero_tc_id_c95105[Desktop] | 10.41 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_secondary_hero_modules_tc_id_c95105[Desktop] | 5.82 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_click_module_link_tc_id_c95105[Desktop-0-First module] | 8.84 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_click_module_link_tc_id_c95105[Desktop-1-Second module] | 6.95 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_click_module_link_tc_id_c95105[Desktop-2-Third module] | 5.84 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_browse_all_recommended_extensions_tc_id_c1137804[Desktop] | 8.59 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_home_recommended_extensions_shelf_tc_id_c95105[Desktop] | 5.53 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_home_see_more_links_tc_id_c4407[Desktop] | 15.66 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_theme_categories_shelf_tc_id_c95105[Desktop-0-Abstract] | 6.67 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_theme_categories_shelf_tc_id_c95105[Desktop-1-Nature] | 6.71 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_theme_categories_shelf_tc_id_c95105[Desktop-2-Film] | 6.19 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_theme_categories_shelf_tc_id_c95105[Desktop-3-Scenery] | 5.80 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_theme_categories_shelf_tc_id_c95105[Desktop-4-Music] | 6.82 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_theme_categories_shelf_tc_id_c95105[Desktop-5-Seasonal] | 7.00 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_mozilla_footer_link_tc_id_c95105[Desktop] | 8.31 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_addons_footer_links_tc_id_c95105[Desktop-About] | 6.02 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_addons_footer_links_tc_id_c95105[Desktop-Firefox Add-ons Blog] | 7.91 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_addons_footer_links_tc_id_c95105[Desktop-Extension Workshop] | 6.94 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_addons_footer_links_tc_id_c95105[Desktop-Developer Hub] | 5.82 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_addons_footer_links_tc_id_c95105[Desktop-Developer Policies] | 6.63 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_addons_footer_links_tc_id_c95105[Desktop-Community Blog] | 8.04 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_addons_footer_links_tc_id_c95105[Desktop-Forum] | 11.81 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_addons_footer_links_tc_id_c95105[Desktop-Report a bug] | 6.06 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_addons_footer_links_tc_id_c95105[Desktop-Review Guide] | 5.44 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_browsers_footer_links_tc_id_c95105[Desktop-Firefox Desktop] | 7.74 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_browsers_footer_links_tc_id_c95105[Desktop-Firefox Mobile] | 5.70 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_browsers_footer_links_tc_id_c95105[Desktop-Firefox Enterprise] | 6.51 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_products_footer_links_tc_id_c95105[Desktop-Browsers] | 6.49 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_products_footer_links_tc_id_c95105[Desktop-VPN] | 6.58 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_products_footer_links_tc_id_c95105[Desktop-Relay] | 7.70 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_products_footer_links_tc_id_c95105[Desktop-Monitor] | 7.67 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_products_footer_links_tc_id_c95105[Desktop-Pocket] | 10.38 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_social_footer_links_tc_id_c95105[Desktop-Firefox on Twitter] | 11.40 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_social_footer_links_tc_id_c95105[Desktop-Firefox on Instagram] | 7.34 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_social_footer_links_tc_id_c95105[Desktop-Firefox on YouTube] | 6.43 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_legal_footer_links_tc_id_c95105[Desktop-Privacy] | 5.82 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_legal_footer_links_tc_id_c95105[Desktop-Cookies] | 5.48 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_legal_footer_links_tc_id_c95105[Desktop-Legal] | 6.04 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_copyright_footer_links_tc_id_c95105[Desktop-Legal] | 5.81 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_copyright_footer_links_tc_id_c95105[Desktop-Creative Commons License] | 6.23 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_home.py::test_change_language_tc_id_c95098[Desktop-HomePage French Translation] | 6.74 | |
|
------------------------------Captured stdout call------------------------------ Test present in TC: C95105,C95098 | |||
| Passed | tests/frontend/test_home.py::test_change_language_tc_id_c95098[Desktop-HomePage German Translation] | 7.24 | |
|
------------------------------Captured stdout call------------------------------ Test present in TC: C95105,C95098 | |||
| Passed | tests/frontend/test_home.py::test_change_language_tc_id_c95098[Desktop-HomePage Chinese Translation] | 7.05 | |
|
------------------------------Captured stdout call------------------------------ Test present in TC: C95105,C95098 | |||
| Passed | tests/frontend/test_home.py::test_change_language_tc_id_c95098[Desktop-HomePage Russian Translation] | 7.41 | |
|
------------------------------Captured stdout call------------------------------ Test present in TC: C95105,C95098 | |||
| Passed | tests/frontend/test_home.py::test_change_language_tc_id_c95098[Desktop-HomePage Hebrew Translation] | 7.59 | |
|
------------------------------Captured stdout call------------------------------ Test present in TC: C95105,C95098 | |||
| Passed | tests/frontend/test_sanity.py::test_language_tools_landing_page[Desktop] | 6.47 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_sanity.py::test_install_language_pack[Desktop] | 10.54 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_sanity.py::test_install_dictionary[Desktop] | 10.83 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_sanity.py::test_install_extension[Desktop] | 15.99 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_sanity.py::test_install_theme[Desktop] | 9.93 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_sanity.py::test_about_addons_find_more_addons[Desktop] | 6.04 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_sanity.py::test_about_addons_addon_cards[Desktop] | 5.18 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_sanity.py::test_about_addons_addon_cards_author_link[Desktop] | 6.59 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_sanity.py::test_about_addons_addon_stats_match_amo[Desktop] | 7.22 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_sanity.py::test_about_addons_install_extension[Desktop] | 9.48 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_sanity.py::test_about_addons_install_theme[Desktop] | 7.17 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_search_suggestion_term_is_higher_tc_id_c4481[Desktop-Flagfox] | 6.77 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_search_suggestion_term_is_higher_tc_id_c4481[Desktop-Video DownloadHelper] | 8.44 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_search_suggestion_term_is_higher_tc_id_c4481[Desktop-Adblock Plus] | 6.22 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_search_suggestion_term_is_higher_tc_id_c4481[Desktop-Tree Style Tab] | 6.65 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_search_suggestion_term_is_higher_tc_id_c4481[Desktop-Two little birds] | 6.87 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_click_aside_closes_suggestion_list[Desktop] | 7.97 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_select_result_with_click_tc_id_c4485[Desktop] | 11.29 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_search_loads_and_navigates_to_correct_page[Desktop] | 6.49 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_blank_search_loads_results_tc_id_c97496[Desktop] | 6.69 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_filter_by_users_tc_id_c92462[Desktop] | 8.87 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_filter_by_rating_and_hotness_tc_id_c92462[Desktop-Top Rated-rating] | 7.88 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_filter_by_rating_and_hotness_tc_id_c92462[Desktop-Trending-hotness] | 6.59 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_filter_extensions_tc_id_c92462[Desktop] | 8.68 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_top_rated_recommended_addons_tc_id_c92462[Desktop] | 9.14 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_filter_promoted[Desktop-recommended-Recommended] | 8.32 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_filter_promoted[Desktop-line-By Firefox] | 8.42 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_search.py::test_filter_promoted[Desktop-badged-All Reviewed] | 7.75 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_themes.py::test_themes_landing_header[Desktop] | 5.91 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_themes.py::test_recommended_themes[Desktop] | 5.96 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_themes.py::test_browse_more_recommended_themes[Desktop] | 7.17 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_themes.py::test_browse_more_top_rated_themes[Desktop] | 6.18 | |
|
No log output captured. | |||
| Passed | tests/frontend/test_themes.py::test_browse_more_trending_themes[Desktop] | 6.57 | |
|
No log output captured. | |||